package rsj.service.account;

import rsj.api.account.entity.AccountProduct;
import rsj.api.account.entity.CheckDeleteResult;
import rsj.api.account.entity.DeleteAccountParam;

import java.util.List;

/**
 * 权限
 *
 * @author yuanqinglong
 * @since 2021/7/15 8:54
 */
public interface IAccountProductService {




    /**
     * 添加账户产品
     *
     * @param accountProducts 账户的产品
     * @param orgId           机构id
     */
    void addAccountProduct(List<AccountProduct> accountProducts, String orgId);



    /**
     * 删除账户产品
     *
     * @param orgIds 机构id
     */
    void deleteAccountProduct(List<String> orgIds);


    /**
     * 获得权限
     *
     * @param orgId 机构id
     * @return {@link List<AccountProduct>}
     */
    List<AccountProduct> getAccountProducts(String orgId);


    /**
     * 检查删除
     *
     * @param deleteAccountParam 删除账户参数
     * @return {@link CheckDeleteResult}
     */
    CheckDeleteResult checkDelete(DeleteAccountParam deleteAccountParam);
}
